tinylang的目录结构遵循我们在第1章安装LLVM中列出的方式。每个组件的源代码位于lib目录的子目录中，头文件位于include/tinylang的子目录中。子目录以组件命名。在第1章安装LLVM中，我们只创建了基本组件。

前一章中，了解了需要实现词法分析器、解析器、AST和语义分析器。每个都是自己的组件，分别称为Lexer、Parser、AST和Sema。本章将要使用的目录布局是这样的:

\myGraphic{0.3}{content/part2/chapter3/images/1.png}{图3.1 - tinylang项目的目录布局}

组件具有明确定义的依赖关系。Lexer只依赖于Basic，Parser依赖于Basic、Lexer、AST和Sema，Sema只依赖于Basic和AST。定义良好的依赖关系有助于我们重用组件。

来仔细看看实现吧!
